package utils

import (
	"encoding/json"
	"fmt"
	"g_ansible/ansible/model"
	"g_ansible/global"
	"os"
)

//const jsonFile = "D:\\code\\g_ansible\\inventory.json"

var jsonfile string

func LoadJson() (inv model.Inventory, err error) {
	jsonfile := global.Config.System.JsonFile
	if jsonfile == "" {
		jsonfile = "inventory.json"
		fmt.Println("使用默认文件 inventory.json")
	}
	data, err := os.ReadFile(jsonfile)
	if err != nil {
		return nil, err
	}
	// 将JSON数据解析到目标结构体
	err = json.Unmarshal(data, &inv)
	if err != nil {
		return nil, err
	}
	return inv, nil
}
func SaveJson(inv model.Inventory) error {
	jsonfile := global.Config.System.JsonFile
	if jsonfile == "" {
		jsonfile = "inventory.json"
		fmt.Println("使用默认文件 inventory.json")
	}
	// 将目标结构体转换为JSON数据
	data, err := json.MarshalIndent(inv, "", "  ")
	if err != nil {
		return err
	}
	// 将JSON数据写入文件
	return os.WriteFile(jsonfile, data, 0644)
}
